package com.xianbeiying.app.ckgl.adapter;

import android.content.Context;
import android.text.InputType;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.xianbeiying.app.ckgl.R;
import com.xianbeiying.app.ckgl.bean.EZdBean;
import com.xianbeiying.app.ckgl.util.DeviceUtil;
import com.xianbeiying.app.ckgl.util.ToastUtil;
import com.xianbeiying.app.ckgl.widght.MyGridView;

import java.util.List;

/**
 * 设备周期数据
 */
public class EquipmentZdAdapter extends BaseAdapter {
    private Context context;
    private List<EZdBean> geteZqBean;
    private String type;
    public static boolean isStartZd=true;
    public static  boolean isChange=false;
    public EquipmentZdAdapter(Context context, List<EZdBean> geteZqBean,String type) {
        this.context = context;
        this.type=type;
        this.geteZqBean = geteZqBean;
    }
    private EquipmentZdGridViewAdapter adapter;
    @Override
    public int getCount() {
        return geteZqBean.size();
    }

    @Override
    public Object getItem(int position) {
        return getItem(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final ViewHolder holder;
        if (convertView == null) {
            convertView = LayoutInflater.from(context).inflate(R.layout.item_equipment_zd, parent, false);
            holder = new ViewHolder();
            holder.ezq_plant = (TextView) convertView.findViewById(R.id.ezq_plant);
            holder.ezq_type = (TextView) convertView.findViewById(R.id.ezq_type);
            holder.ezq_grid = (MyGridView) convertView.findViewById(R.id.ezq_grid);
            holder.et_wpauto_sd = (EditText) convertView.findViewById(R.id.et_wpauto_sd);
            holder.et_wpauto_wd = (EditText) convertView.findViewById(R.id.et_wpauto_wd);
            holder.et_wpauto_sc = (EditText) convertView.findViewById(R.id.et_wpauto_sc);
            holder.ezq_edit = (TextView) convertView.findViewById(R.id.ezq_edit);
            holder.iv_s=(ImageView) convertView.findViewById(R.id.iv_s);
            holder.iv_x=(ImageView) convertView.findViewById(R.id.iv_x);
            holder.tv_x = (TextView) convertView.findViewById(R.id.tv_x);
            holder.tv_xd = (TextView) convertView.findViewById(R.id.tv_xd);
            holder.tv_s = (TextView) convertView.findViewById(R.id.tv_s);
            holder.tv_sd = (TextView) convertView.findViewById(R.id.tv_sd);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        if(type.equals("除湿器")){
            holder.iv_x.setImageResource(R.mipmap.sd);
            holder.tv_x.setText("空气湿度下限");
            holder.tv_xd.setText("％RH");
            holder.iv_s.setImageResource(R.mipmap.sd);
            holder.tv_s.setText("空气湿度上限");
            holder.tv_sd.setText("％RH");
            int  inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL;
            holder.et_wpauto_sd.setInputType(inputType);
        }
        if(type.equals("风机")){
            holder.iv_x.setImageResource(R.mipmap.wd);
            holder.tv_x.setText("空气温度下限");
            holder.tv_xd.setText("℃");
            holder.iv_s.setImageResource(R.mipmap.wd);
            holder.tv_s.setText("空气温度上限");
            holder.tv_sd.setText("℃");
            int  inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL;
            holder.et_wpauto_sd.setInputType(inputType);
        }
        if(type.equals("加热器")){
            holder.iv_x.setImageResource(R.mipmap.wd);
            holder.tv_x.setText("空气温度下限");
            holder.tv_xd.setText("℃");
            holder.iv_s.setImageResource(R.mipmap.wd);
            holder.tv_s.setText("空气温度上限");
            holder.tv_sd.setText("℃");
            int  inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED;
            holder.et_wpauto_sd.setInputType(inputType);
        }
        holder.ezq_plant.setText("组" + (position + 1));
        holder.ezq_type.setText("添加到计划中");
        holder.et_wpauto_sd.setText(geteZqBean.get(position).getZqBean().get(0).getMinSd()+"");
        holder.et_wpauto_wd.setText(geteZqBean.get(position).getZqBean().get(0).getMaxSd()+"");
        holder.et_wpauto_sc.setText(geteZqBean.get(position).getZqBean().get(0).getSc() + "");
        if (holder.ezq_edit.getText().toString().trim().equals("编辑")){
            holder.et_wpauto_sd.setEnabled(false);
            holder.et_wpauto_wd.setEnabled(false);
            holder.et_wpauto_sc.setEnabled(false);
        } else{
            holder.et_wpauto_sd.setEnabled(true);
            holder.et_wpauto_wd.setEnabled(true);
            holder.et_wpauto_sc.setEnabled(true);
        }

        adapter=new EquipmentZdGridViewAdapter(context,geteZqBean.get(position).getZqBean());
        holder.ezq_grid.setAdapter(adapter);
        holder.ezq_edit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String strTv = holder.ezq_edit.getText().toString().trim();
                if (strTv.equals("编辑")) {
                    if(geteZqBean.get(position).getZqBean().get(0).getStatus()==1){
                        ToastUtil.showInfo(context,"该计划正在运行中,请先停止计划,再进行编辑");
                        return;
                    }
                    holder.ezq_edit.setText("完成");
                    isStartZd=false;
                    holder.et_wpauto_sd.setEnabled(true);
                    holder.et_wpauto_wd.setEnabled(true);
                    holder.et_wpauto_sc.setEnabled(true);
                } else {
                    String sd=holder.et_wpauto_sd.getText().toString().trim();
                    String wd=holder.et_wpauto_wd.getText().toString().trim();
                    String sc=holder.et_wpauto_sc.getText().toString().trim();
                    if (DeviceUtil.isInputContent(context, sd, wd, sc,type)){
                        if(!sd.equals(geteZqBean.get(position).getZqBean().get(0).getMinSd()+"")){
                            isChange=true;
                        }
                        if(!wd.equals(geteZqBean.get(position).getZqBean().get(0).getMaxSd()+"")){
                            isChange=true;
                        }
                        if(!sc.equals(geteZqBean.get(position).getZqBean().get(0).getSc()+"")){
                            isChange=true;
                        }
                        holder.et_wpauto_sd.setEnabled(false);
                        holder.et_wpauto_wd.setEnabled(false);
                        holder.et_wpauto_sc.setEnabled(false);
                        isStartZd=true;
                        holder.ezq_edit.setText("编辑");
                        geteZqBean= DeviceUtil.updateZdALLBean(geteZqBean,Integer.valueOf(sd),Integer.valueOf(wd),Integer.valueOf(sc),position);
//                        notifyDataSetChanged();
                        adapter.notifyDataSetChanged();
                    }

                }
            }
        });
        return convertView;
    }

    private class ViewHolder{
        TextView ezq_plant, ezq_type;
        MyGridView ezq_grid;
        EditText et_wpauto_sd;
        EditText et_wpauto_wd;
        EditText et_wpauto_sc;
        TextView ezq_edit;//编辑
        private ImageView iv_x;//下
        private TextView tv_x,tv_xd;
        private ImageView iv_s;//上
        private TextView tv_s,tv_sd;
    }
}